package com.blumov.fastbox.compra;


import com.blumov.fastbox.application.services.compra.PedidoService;
import com.blumov.fastbox.application.services.servicelocator.ServiceLocator;
import com.blumov.fastbox.application.services.servicelocator.ServiceLocatorImpl;
import com.blumov.fastbox.domain.model.compra.Pedido;
import com.blumov.fastbox.domain.model.compra.PedidoId;

public class TerminalDispatcherFacadeImpl implements TerminalDispatcherFacade {

	PedidoService pedidoService; 

	public TerminalDispatcherFacadeImpl() {
		ServiceLocator serviceLocator = new ServiceLocatorImpl();
		this.pedidoService = serviceLocator.getPedidoService();
	}
	
	public PedidoService getPedidoService() {
		return pedidoService;
	}

	public void setPedidoService(PedidoService pedidoService) {
		this.pedidoService = pedidoService;
	}

	public PedidoDTO traerPedido() {
		Pedido pedido = pedidoService.damePedido();
		BuildPedidoDTO creacionPedido = new BuildPedidoDTO();
		return creacionPedido.crearPedidoDTO(pedido, pedido.getBandejas());
	}

	public void enviarPedidoACocina(String nroPedido) {
		pedidoService.enviarACocina(new PedidoId(nroPedido));
	}

	public void cancelarPedido(String nroPedido) {
		pedidoService.pedidoCancelado(new PedidoId(nroPedido));
	}

	public void pedidoEntregado(String nroPedido) {
		pedidoService.confirmarPedidoEntregado(new PedidoId(nroPedido));
	}

	public void pedidoListo(String nroPedido) {
		pedidoService.pedidoListo(new PedidoId(nroPedido));
	}

}
